The content provided here is organized in 16 chapters. It is a subject of the EPL version 1.0. Below is a short description of the content of each chapter. Every chapter contains a number of lectures that cover the basic topics related to the chapter.
This chapter presents two languages required for understanding the content in the other chapters: the part of UML for creating class diagrams and Object Constraints Language (OCL). The presentation of the full UML 2.0 is given in Chapter 5.
This chapter introduces the basic concepts in MDD and how they evolved in the last decades.
This chapter outlines the motivation for MDD and the basic problems tackled in MDD.
This chapter presents the concepts of model, metamodel, and metametamodel and how they are employed in the OMG modelling stack.
This chapter presents the important standards in MDD. It covers OMG standards such as MOF, UML 2.0, XMI, etc. and also other standards developed outside OMG such as JMI.
This chapter presents some models of processes, e.g. the SPEM (Software Process Engineering Metamodel Specification).
This chapter covers initiatives like Action Semantics for UML and Executable UML.
This chapter gives examples of various platforms and their models (e.g. Corba Component Model - CCM).
This chapter presents a number of business models such as EDOC.
This chapter is devoted on model transformations. It gives information about various transformation languages and related standards such as QVT.
This chapter presents non-trivial examples of application of MDD techniques and real life cases where MDD has been successfuly applied.
This chapter gives an overview of the currently available tools in MDD (both commercial and open source).
Next two chapters presents two frameworks that exemplify MDD concepts: Eclipse Modeling Framework by IBM and Software Factories by Microsoft.
This chapter positions MDD in a broader context and relates it to other technologies such as XML, Web Services, Semantic Web, etc.
This chapter presents the theoretical underpinnings of concepts like model, modelling, metamodelling, etc.